home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / ada / adaed-1.11 / adaed-1 / Adaed-1.11.0a / Makefile < prev    next >
Encoding:
Makefile  |  1992-02-07  |  5.4 KB  |  213 lines

  1. # $Header: /griffin.a/ada/porter/all/RCS/Makefile,v 1.9 1992/02/04 19:19:56 porter Exp $
  2.  
  3. CC= gcc
  4. CFLAGS=-g
  5.  
  6. #CC= g++
  7. #CFLAGS=-g
  8.  
  9. #CC= CC
  10. #CFLAGS=-g -I/usr/lang/include/CC
  11.  
  12. LINKER= $(CC)
  13. LFLAGS=-lg
  14.  
  15. INSTALL = install
  16.  
  17. BINDIR = /usr/local
  18. LIBDIR = /usr/local/lib
  19. MANDIR = /usr/local/man
  20.  
  21. .SUFFIXES:
  22. .SUFFIXES: .o .c .h .ch .s .vbs
  23.  
  24. .c.o:
  25.     $(CC)$(CCVAR) $(CFLAGS) -c $<  
  26.  
  27. .s.o:
  28.     $(CC)$(CCVAR) $(CFLAGS) -c $<
  29.  
  30. # always remake .h file when rebuild .c from .ch
  31. # we make the derived files read-only so that attempts to edit them
  32. # will fail, and so hopefully remind the user that the .ch file
  33. # is the (single) file to be edited.
  34.  
  35. .ch.h:
  36.     rm -f $*.h
  37.     echo >$*.h
  38.     chmod u+w $*.h
  39.     makech -h  < $< > $*.h
  40.     chmod a-w $*.h
  41.  
  42. .ch.c:
  43.     rm -f $*.c
  44.     echo >$*.c
  45.     chmod u+w $*.c
  46.     makech -c < $< > $*.c
  47.     chmod a-w $*.c
  48.  
  49. .vbs.h:
  50.     rm -f $*.h
  51.     touch $*.h
  52.     chmod u+w $*.h
  53.     cdecom <$*.vbs | uniq >$*.h
  54.     chmod a-w $*.h
  55.  
  56. # TARGET TO MAKE EVERYTHING
  57.  
  58. EXECS =    adaprs adasem adagen adabind adaexec adacomp adalib
  59.  
  60. all: $(EXECS)
  61.  
  62. predef: $(EXECS)
  63.     rm -rf predef predefdir
  64.     mkdir predefdir
  65.     ./adaprs -nl predefdir predef.ada
  66.     ./adasem -s p -nl predefdir predef
  67.     ./adagen -g p -nl predefdir predef
  68.     touch predef
  69.  
  70. install : all predef
  71.     -mkdir $(BINDIR)
  72.     -mkdir $(LIBDIR)
  73.     install adacomp adabind adaexec adalib $(BINDIR)
  74.     install adaprs adasem adagen $(LIBDIR)
  75.     install predefdir/0.axq $(LIBDIR)/predef.axq
  76.     install predefdir/0.trc $(LIBDIR)/predef.trc
  77.     install predefdir/lib $(LIBDIR)/predef.lib
  78.     -rm $(LIBDIR)/adabind
  79.     ln -s $(BINDIR)/adabind $(LIBDIR)/adabind
  80.     install adabind.l adacomp.l adaed.l adaexec.l adalib.l $(MANDIR)/manl
  81.  
  82. # remove all targets
  83. MADE_HDRS =    vars.h gvars.h ivars.h hdr.h libhdr.h ghdr.h
  84. MADE_SRCS =    vars.c gvars.c ivars.c
  85. clean:
  86.     rm -f *.o *.lm core $(EXECS) adaint
  87.     rm -f  $(MADE_HDRS) $(MADE_SRCS)
  88.     rm -rf predefdir predef
  89.  
  90. #---------------------------#
  91. # adalib FILES AND ACTIOONS #
  92. #---------------------------#
  93.  
  94. LIB_OBJS = adalib.o misc.o libf.o
  95.  
  96. adalib: $(LIB_OBJS)
  97.     $(LINKER) -o adalib -g $(LIB_OBJS) -lm >lib.lm
  98.  
  99. #---------------------------#
  100. # adacomp FILES AND ACTIONS #
  101. #---------------------------#
  102.  
  103. COMP_OBJS = adacomp.o adamrg.o misc.o
  104.  
  105. adacomp: $(COMP_OBJS)
  106.     $(LINKER) -o adacomp -g $(COMP_OBJS) -lm >comp.lm
  107.  
  108. #--------------------------#
  109. # adaprs FILES AND ACTIONS #
  110. #--------------------------#
  111.  
  112. PRS_OBJS =    action.o acttoks.o adalex.o adaprs.o adared.o debug.o errs.o \
  113.             follow.o libf.o lookup.o makecorr.o misc.o pnodes.o ppredef.o \
  114.             prserr.o prsinit.o prsutil.o pspans.o recover.o reduce.o shift.o
  115.  
  116. adaprs: $(PRS_OBJS)     
  117.     $(LINKER) -o adaprs -g $(PRS_OBJS) -lm >prs.lm
  118.  
  119. #--------------------------#
  120. # adasem FILES and ACTIONS #
  121. #--------------------------#
  122.  
  123. SEM_OBJS =    0a.o 0b.o 2.o 3a.o 3b.o 4a.o 4b.o 4c.o 5.o 6.o 7.o 8.o 9.o 10.o \
  124.             11.o 12a.o 12b.o 12c.o 13.o 14.o arith.o astread.o dbx.o dclmap.o \
  125.             errmsg.o eval.o lib.o libf.o libr.o libw.o machine.o  \
  126.             main.o misc.o nodes.o set.o smisc.o sspans.o units.o util.o vars.o
  127.  
  128. adasem: $(SEM_OBJS) 
  129.     $(LINKER) -o adasem -g $(SEM_OBJS) -lm >sem.lm
  130.  
  131.  
  132. #--------------------------------------#
  133. # adagen and adabind FILES AND ACTIONS #
  134. #--------------------------------------#
  135.  
  136. GEN_OBJS =    12b.o aggr.o arith.o axqr.o axqw.o dbg.o dbx.o dclmap.o decl.o \
  137.             expand.o expand2.o expr.o g0a.o gen.o glib.o  gmain.o gmisc.o \
  138.             gnodes.o gpredef.o gutil.o gvars.o init.o initobj.o lang.o lib.o \
  139.             libf.o libr.o libw.o maincase.o misc.o nam.o opdesc.o pack.o \
  140.             peep.o proc.o read.o segment.o sep.o set.o smisc.o stat.o \
  141.             type.o util.o vars.o
  142.  
  143. BND_OBJS =    12b.o arith.o axqr.o axqw.o blib.o bmisc.o bmain.o bnodes.o \
  144.             dbg.o dbx.o dclmap.o g0a.o gen.o ginter.o glib.o gpredef.o \
  145.             gutil.o gvars.o init.o lang.o lib.o libf.o libr.o libw.o misc.o \
  146.             opdesc.o peep.o read.o segment.o sep.o set.o smisc.o util.o vars.o
  147.  
  148. adagen: gvars.c vars.c hdr.h ghdr.h libhdr.h $(GEN_OBJS) 
  149.     $(LINKER) -o adagen -g $(GEN_OBJS) -lm >gen.lm
  150.  
  151. adabind: vars.c gvars.c hdr.h ghdr.h libhdr.h $(BND_OBJS)
  152.     $(LINKER) -o adabind -g $(BND_OBJS) -lm >bind.lm
  153.  
  154. # $(GEN_OBJS): gvars.c vars.c hdr.h libhdr.h
  155.  
  156. # $(BND_OBJS): vars.c
  157.  
  158. # Dependence on gmisc.o causes extra compile but gets dependencies right.
  159. bmisc.o: gmisc.o
  160.     cp gmisc.c bmisc.c
  161.     $(CC) -DBINDER -c -g bmisc.c
  162.     rm -f bmisc.c
  163.  
  164. # Look at last comment.
  165. bnodes.o: gnodes.o
  166.     cp gnodes.c bnodes.c
  167.     $(CC) -DBINDER -c -g bnodes.c
  168.     rm -f bnodes.c
  169.  
  170. #---------------------------#
  171. # adaexec FILES AND ACTIONS #
  172. #---------------------------#
  173.  
  174. INT_OBJS =     axqr.o farith.o ilist.o imain.o imisc.o intb.o intc.o \
  175.             ipar.o ivars.o libf.o machine.o  misc.o opname.o \
  176.             predef1.o predef2.o predef3.o predef4.o predef5.o \
  177.             predef6.o tasking.o
  178.  
  179. XINT_OBJS =    inta.o load.o
  180.  
  181. adaexec: ivars.c inta_interface.o load_interface.o $(INT_OBJS)
  182.     $(LINKER) -o adaexec -g $(LFLAGS) $(INT_OBJS) $(XINT_OBJS) -lm >int.lm
  183.     ld -r -x load_interface.o $(INT_OBJS) inta_interface.o >adaint.lm
  184.     mv a.out adaint
  185.  
  186. #inta_interface.o: inta.o
  187. #    $(CC)$(CCVAR) -c -DINTERFACE $(CFLAGS) -o inta_interface.o inta.c
  188.  
  189. inta_interface.o: inta.o
  190.     mv inta.o inta.o.b
  191.     $(CC)$(CCVAR) -c -DINTERFACE $(CFLAGS) inta.c
  192.     mv inta.o inta_interface.o
  193.     mv inta.o.b inta.o
  194.     touch inta_interface.o
  195.  
  196. load_interface.o: load.o
  197.     mv load.o load.o.b
  198.     $(CC)$(CCVAR) $(CFLAGS) -DINTERFACE -c load.c
  199.     mv load.o load_interface.o
  200.     mv load.o.b load.o
  201.     touch load_interface.o
  202.  
  203. misc.o :
  204.     $(CC) $(CFLAGS) -DLIBDIR=\"$(LIBDIR)\" -c misc.c
  205.  
  206. ALL_OBJS =  $(PRS_OBJS) $(SEM_OBJS) $(GEN_OBJS) $(BND_OBJS) $(INT_OBJS) \
  207.             $(XINT_OBJS)
  208.  
  209. Makeext :
  210.     x2hdeps $(ALL_OBJS) >Makeext
  211.  
  212. include Makeext
  213.